#include "Factory.h"
#include "Product.h"
#include <iostream>

Factory::Factory()
{
    std::cout << "Factory()" << std::endl;
}

Factory::~Factory()
{
    std::cout << "~Factory()" << std::endl;
}

ConcreteFactory::ConcreteFactory()
{
    std::cout << "ConcreteFactory()" << std::endl;
}

ConcreteFactory::~ConcreteFactory()
{
    std::cout << "~ConcreteFactory()" << std::endl;
}

Product* ConcreteFactory::CreateProduct()
{
    std::cout << "CreateProduct()" << std::endl;
    return new ConcreteProduct();
}